package com.tcm.smarthealth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tcm.smarthealth.dto.QuestionCreateRequest;
import com.tcm.smarthealth.dto.QuestionResponse;
import com.tcm.smarthealth.dto.QuestionStreamChunk;
import com.tcm.smarthealth.entity.Question;
import com.tcm.smarthealth.enums.QuestionType;
import reactor.core.publisher.Flux;

import java.util.List;

public interface QuestionService extends IService<Question> {

    QuestionResponse createQuestion(QuestionCreateRequest request, Long userId);

    List<QuestionResponse> listQuestions(Long userId, QuestionType type, int page, int size);

    Flux<QuestionStreamChunk> streamQuestion(QuestionCreateRequest request, Long userId);
}

